Typically, packet communication apparatuses such as routers are used to transfer packets within a network. In such packet communication apparatuses, due to the increasing demand for sophistication in recent years, it has become mainstream to not only implement a normal routing function for the purpose of transferring packets to other apparatuses but also to perform packet processing such as compression/decompression or encoding/decoding with respect to the packets.
FIG. 9 is a diagram for explaining a typical packet communication apparatus. As illustrated in FIG. 9, a typical packet communication apparatus 10 includes a packet processing determining unit 11 and a packet processing device 12.
The packet processing determining unit 11 is, for example, an NWP (Network Processor) that receives packets and determines whether or not to instruct the packet processing device 12 to perform packet processing such as compression/decompression or encoding/decoding with respect to the received packets. For example, the packet processing determining unit 11 analyzes the header information of the received packets. Then, if the header information contains control information which indicates that packet processing is not yet performed, then the packet processing determining unit 11 determines to instruct the packet processing device 12 to perform packet processing with respect to the received packets.
If it is determined not to instruct the packet processing device 12 to perform packet processing, then the packet processing determining unit 11 implements the normal routing function and transfers the received packets to another packet communication apparatus. On the other hand, if it is determined to instruct the packet processing device 12 to perform packet processing, then the packet processing determining unit 11 outputs the received packets to the packet processing device 12.
The packet processing device 12 is, for example, an HWA (Hardware Accelerator) that performs packet processing with respect to the packets received from the packet processing determining unit 11, and sends back the post-packet-processing packets to the packet processing determining unit 11. Herein, to the header information of the post-packet-processing packets, the packet processing device 12 appends control information which indicates that the packets have already been subjected to packet processing.
[Patent Literature 1]: Japanese Laid-open Patent Publication No. 2000-83045
[Patent Literature 2]: Japanese Laid-open Patent Publication No. 2008-226023
However, while establishing a network among typical packet communication apparatuses of the abovementioned type, some packet communication apparatuses happen to take intensive processing load, thereby leading to the possibility of congestion.
For example, assume that a network is established in which edge-side packet communication apparatuses are connected below core-side packet communication apparatuses. In that case, a core-side packet communication apparatus implements the normal routing function and transfers the received packets to another packet communication apparatus. In contrast, an edge-side packet communication apparatus not only transfers the received packets to another packet communication apparatus but also performs packet processing with the use of the packet processing device installed therein. Hence, as compared to the core-side packet communication apparatuses, the edge-side packet communication apparatuses happen to take intensive processing load. As a result, in an edge-side packet communication apparatus, when the transfer speed of packets that are determined to be subjected to packet processing exceeds the processing speed of the corresponding packet processing device, it results in congestion in the line.